Control systems are widely used to monitor and control systems and machines in a multitude of applications. One example of a popular, yet simple application of a control system is a residential thermostat for controlling a furnace. A homeowner can set the thermostat for a desired temperature, and when the temperature of the interior of the house falls below a first threshold temperature, the thermostat can turn on the furnace. The furnace runs until the temperature of the interior exceeds a second threshold temperature. Typically, the first and second threshold temperatures are closely related to the selected desired temperature. In this manner the thermostat acts as a simple control system to regulate the temperature of the house.
Similar to a house, a computing device can have a control system to regulate internal temperatures. In stark contrast, however, the computing device can include many more heat sources. The operation of the heat sources all contribute to product heat, but in varying amounts and in some cases the varying amounts can be in response to applications or other tasks being performed by the computing device. Also, a main function of a temperature regulating control system in a computing device is not to elevate a temperature, but rather work to ensure that the internal temperature does not increase beyond a critical temperature that can cause damage to one or more internal components of the computing device.
Because of the complex nature of computing devices, the simple control system outlined above may not provide acceptable cooling performance. For example, a simple cooling system can typically take only one approach to cooling, independent of factors such as user experience, pending and executing software applications, and previous operating temperatures.
Therefore, what is desired is a way to control a system, such as a cooling system, that can offer multiple control approaches depending on current and past operating parameters.